java "书上有一句话不大理解“

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:16:11
“互斥锁保证在任一时刻只能有一个线程访问该对象”

这句话里的“线程访问对象”是什么意思?是某个对象出现在run()方法里么?
请举个例子吧。怎么样就叫做“线程访问了一个对象”?

比如说你的线程实现的是runable接口,里面有个静态成员变量,这样凡是这个类的对象又可以在run内部访问到这个对象
由于是静态对象,所以他们访问的是一个内存地址上,所以如果一个进程实例读这个成员变量,另一个进程实例写就有问题了,互斥以后就一个读另一个就不能写,一个写另一个就不能读

去银行取钱的简单例子 同一张卡同时只能一个人(线程)去取钱,另外一个人也和你一起取钱的话,只有较早去取钱的人能用卡进入atm的系统(访问对象),另一个人是不能进入系统进行操作的(被锁)